#pragma once

#include <vector>
#include <string>

// Misrender
#include "graphicsmanager.h"
#include "texture.h"
#include "PastyCam.h"
// Game
#include "GameObject.h"
#include "player.h"
#include "enemy.h"

class Game
{
public:
	Game();
protected:
private:
	void init();
	void draw(double dt);
	void update(double dt);
	void cameraUpdate(double dt);

	std::vector<GameObject*> _gameObjectList;
	Player *player;

	int mouseX, mouseY;
	int oldMouseX, oldMouseY;
	PastyCam camera;
	float game_scale_x;
	float game_scale_y;
	float playFieldMouseX;
	float playFieldMouseY;
	Texture *dotTexture;
	GraphicsManager *gm;

	double time;

	double resX,resY;
};